package org.tgcloud.group.core.custom;

import java.lang.reflect.Method;

/**
 * @Author SGY
 * @Date 2020/10/15 17:56
 * @Description
 **/
public class AnnotationParse {

    /**
     * 解析注解
     *
     * @param targetClassName 目标类（Class形式）
     * @param methodName      目标方法（在客户端调用哪个方法，methodName就代表哪个方法）
     * @return
     * @throws Exception
     */
    public static String parse(Class targetClassName, String methodName) throws Exception {
        //获得目标方法
        Method method = targetClassName.getMethod(methodName);

        String methodAccess = "";
        //判断目标方法上面是否存在@PrivilegeInfo注解
        //@Privilege（name="savePerson"）
        if (method.isAnnotationPresent(Permissions.class)) {
            //得到方法上的注解
            Permissions privilegeInfo = method.getAnnotation(Permissions.class);
            //得到注解中的name值
            methodAccess = privilegeInfo.value();
        }
        return methodAccess;
    }

}
